QT 您所在的位置:网站首页 python 捕获cmd关闭最小化放大按钮 QT

QT

2024-06-27 09:06| 来源: 网络整理| 查看: 265

[去除原边框]

this->setWindowFlags(Qt::FramelessWindowHint); //取消窗体的标题栏 setMouseTracking(true);//MouseMoveEvent为了不太耗资源在默认状态下是要鼠标按下才能捕捉到,要想鼠标不按下时的移动也能捕捉到设置为true。 注意关于setMouseTracking(true)设置后无效的情况: 如果在子类上响应鼠标事件,只会触发子类的 mouseMoveEvent,根据C++继承和重载的原理,所以子类也要 setMouseTracking(true); 所以如果你想响应鼠标事件的控件被某个父控件包含,则该控件及其父控件或容器也需要 setMouseTracking(true);比如ui->widget->setMouseTracking(true)等等。

[自定义最大化、最小化、关闭按钮]

void Widget::on_pb_Min_clicked() { setWindowState(Qt::WindowMinimized); } void Widget::on_pb_Max_clicked() { if (windowmax) { this->showMaximized(); ui->pb_Max->setText("❐"); windowmax = 0; } else { this->showNormal(); ui->pb_Max->setText("□"); windowmax = 1; } } void Widget::on_pb_Close_clicked() { close(); }

[可拆分窗口部件]

//添加 splitter QSplitter *splitter = new QSplitter(Qt::Horizontal,nullptr); splitter->addWidget(ui->widget_3); splitter->addWidget(ui->widget_4); ui->widget_2->layout()->addWidget(splitter); splitter->setMouseTracking(true); //设置拉伸比例 //setStretchFactor方法的参数分别是子控件索引、拉伸参数 splitter->setStretchFactor(0, 3); splitter->setStretchFactor(1, 7);

[拖动窗体和缩放]

1.重写这三个函数

void mousePressEvent(QMouseEvent *event) override;//获取鼠标的移动 void mouseMoveEvent(QMouseEvent *event) override;//获取鼠标的点击 void mouseReleaseEvent(QMouseEvent *event) override;//获取鼠标的释放

2.设计窗体的结构用代号来表示。

具体见链接代码

3.可以实现窗体四周拉伸、整体拖动。

[样式表美化部件窗口]

具体见链接代码

[链接]QT-QWidget实现去除原边框,自定义边框(最大化、最小化、关闭按钮)、可拆分窗口部件、拖动窗体和缩放、样式表美化部件窗口资源-CSDN文库



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有